#pragma once

#include "stdafx.h"

enum EPicSaveType
{
  pstFirst      = 0,
  pstNormal     = 0,
  pstFullscreen = 1,
  pstSmall      = 2,
  pstOriginal   = 3,
  pstLast       = 3,
  pstDefault    = 0
};

class Settings
{
public:
    static void Create(HWND hWnd);
    static void Destroy();

    static bool IsSmartphone()
    { return isSmartphone; }

    // POOM settings
    static const TCHAR* favorite_category;
    static const TCHAR* email_account;

    static bool doMinimizeOnAction;
    static bool doExitOnAction;
    static bool doExitOnMinimize;
    static bool doFastGraphics;
    static bool useClearTypeFonts;

    static const TCHAR* skin_name;
    static bool optimizedAlpha;

    static bool popupAlpha;

    static int popupShowTime; // time to draw popup window animation, ms
    static int popupHideTime;

    static int detailsSlideTime;

    //burt: mouse gestures settings
    static bool enableMouseGestures;
    static int  mouseGesturesTime;  //max time to finish a gesture, ms

    //burt: min mouse move by Y to initiate scroll
    static int scrollThresh;

    //avian: min scroll speed to initiate kinetic scroll
    static int speedThresh;

    static int scrollBounceTime;
    static int scrollSearchTime;
    static int scrollJumpTime;

    static bool enableScrollAccel; // scroll acceleration
    static bool scrollBarContactsByLetter; // avian

    static bool collapseRepeatsInHistory;
    static int  openHistoryIn;
    static int  limitHistory;
    static bool showScrollIndInHistory;
    static bool readHistoryFromDB;
    static bool samsungHistoryWorkaround; // avian
    static bool showRepeatsInName;

    static bool enableLongTapAction;
    static int  longTapDelay;
    static bool drawLongTapIndicator;

    static bool showDialingNumber;
    static bool smartDialingNumber;
	static bool showDialNoAfterPrimaryText;	// true: right, false:bottom

    static int  openIn;

    static bool enableListCaching;

    static bool showPicturesInDetails;
    static bool showPicturesInList;
    static bool showPicturesInCallHistory;
    static bool enablePicturesTransparency;
    static bool cacheListPictures;
    static bool delayedPictureLoading;

    static bool enableFavoritesSearch;
	static bool showLettersInContacts;

    static bool showNotesInDetails;
    static bool showRingtonesInDetails; // lcm

    static bool showSimContacts;
    static bool delayedSimLoading;

    static bool highlightFavsInList;

    static bool showSystemTaskbar;

    static bool t9EnglishAsPrimary; // lcm
    static bool t9SearchByDefault;
    static bool t9SearchTransparency;
    static bool t9SearchByWords;
    static bool t9SearchByNumbers; // lcm

    static bool picSaveEnabled;
    static bool picSaveToFile;
    static const TCHAR* picSaveFolder;
    static bool picSaveToOutlook;
    static EPicSaveType picSaveOutlookType;

    static const TCHAR* smsApplication;
    static const TCHAR* smsApplicationArgs;
    static const TCHAR* mailApplication;
    static const TCHAR* mailApplicationArgs;
    static const TCHAR* dialerApplication;
    static const TCHAR* dialerApplicationArgs;

    static const TCHAR* phonePrefix;

    static bool showVersionInfo; // avian
    static bool showDialingNumberSuffix; // avian
    static bool enableUSSDStarDialing; // avian

    static bool enablePhoneKeyHook; // avian

    static bool callLogDetailsBackToCallLog; // avian

    static bool OpenSettingsOnLongTap; // avian

private:
    static bool isSmartphone;
};
